import java.util.Scanner;

public class Test {
//    public static void main(String[] args) {
//        int i = 1;
//        int result = 0;
//        for(i=1;i<=5;i++){
//            int sum = factor(i);
//            result += sum;
//        }
//        System.out.println(result);
//    }
//
//
//    public static int factor(int i){
//        int count = 1;
//        int n = 1;
//        for(n=1;n<=i;n++){
//            count *= n;
//        }
//        return count;

//        int a = 10;       //java当中特有的方法重载,要满足方法名一样,但是参数的个数和数据类型要不同
//        int b = 20;       //当然了,一定要在一个类当中
//        int c = add(a,b); //对了,别忘记方法不能嵌套定义
//        double x = 1.2;
//        double y = 3;
//        double z = add(x,y);
//        int sum = 3;
//        int count = 4;
//        int tpm = 5;
//        int result = add(sum,count,tpm);
//        System.out.println(c);
//        System.out.println(z);
//        System.out.println(result);
//
//    }
//
//    public static int add(int x,int y){
//        return x+y;
//    }
//
//
//    public static int add(int x,int y,int z){
//        return x+y+z;
//    }
//    public static double add(double x,double y){
//        return x+y;
//    }

//    public static void main(String[] args) {
//        Scanner scanner = new Scanner(System.in);
//        int n = scanner.nextInt();
//        int result = factor(n);
//        System.out.println(result);
//    }
//
//
//    public static int factor(int n){
//        if(n == 1){
//            return 1;
//        }
//        return n * factor(n-1);
//    }


//    public static void main(String[] args) {
//        Scanner scanner = new Scanner(System.in);
//        int input = scanner.nextInt();
//        is_Print(input);
//    }
//
//    public static void is_Print(int n){
//        if(n > 9){
//            is_Print(n / 10);
//        }
//        System.out.print(n % 10 + " ");
//    }


//    public static void main(String[] args) {
//        Scanner scanner = new Scanner(System.in);
//        int input = scanner.nextInt();
//        int result = sum(input);
//        System.out.println(result);
//    }
//
//    public static int sum(int n){
//        if(n < 10){
//            return n;
//        }
//        return sum(n / 10) + n % 10;
//    }


//    public static void main(String[] args) {
//        Scanner scanner = new Scanner(System.in);
//        int n = scanner.nextInt();
//        System.out.println(fib(n));
//    }
//
//    public static int fib(int n){
//        if((n == 1) || (n == 2)){
//            return 1;
//        }
//        return fib(n-1) + fib(n-2);
//    }


    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        long input = scanner.nextInt();
        long result = fib(input);
        System.out.println(result);
    }

    public static long fib(long n){
        long a = 1;
        long b = 1;
        long c = 0;
        for(long i= 3;i <= n;i++){
            c = a + b;
            a = b;
            b = c;
        }
        return c;
    }

}
